As high-speed and high-performance communications become necessary for many applications such as data warehousing, decision support, mail and messaging, and transaction processing applications, a clustering technology has been adopted to provide availability and scalability for these applications. A cluster is a group of one or more host systems (e.g., computers, servers and workstations), input/output (I/O) units which contain one or more I/O controllers (e.g. SCSI adapters, network adapters etc) and switches that are linked together by an interconnection fabric to operate as a single data network to deliver high performance, low latency, and high reliability. Clustering offers three primary benefits: scalability, availability, and manageability. Scalability is obtained by allowing servers and/or workstations to work together and to allow additional services to be added for increased processing as needed. The cluster combines the processing power of all servers within the cluster to run a single logical application (such as a database server). Availability is obtained by allowing servers to “back each other up” in the case of failure. Likewise, manageability is obtained by allowing the cluster to be utilized as a single, unified computer resource, that is, the user sees the entire cluster (rather than any individual server) as the provider of services and applications.
Emerging network technologies for linking servers, workstations and network-connected storage devices within a cluster include InfiniBand™ and its predecessor, Next Generation I/O (NGIO) which have been recently developed by Intel Corp. and other companies to provide a standard-based I/O platform that uses a channel oriented, switched fabric and separate I/O channels to meet the growing needs of I/O reliability, scalability and performance on commercial high-volume servers, as set forth in the “Next Generation Input/Output (NGIO) Specification,” NGIO Forum on Jul. 20, 1999 and the “InfiniBand™ Architecture Specification,” Revision 1, the InfiniBand™ Trade Association on Jun. 19, 2001.
One major challenge to implementing clusters based on NGIO/InfiniBand™ technology is to ensure that data messages traverse reliably between given ports of end nodes, via one or more given transmission links of a switched fabric data network. Work queues formed in pairs for a certain class of operation, known as a queue pair (QP), are typically utilized at an interface mechanism, known as channel adapter (CA), to process work requests (i.e., message send/receive operations and remote direct memory access “RDMA” read/write operations) posted from clients to describe data movement operation and location of data to be moved for processing and/or transportation via a switched fabric data network. Any time an incoming data message arrives at a queue pair (QP) from the wire, a receive buffer must be posted for that data message. Before data message can be exchanged between end nodes, all nodes in the switched fabric data network need to be configured, and the interface to a given class service agent may be relocated or redirected to an appropriate queue pair (QP) to processing the data message.
However, the current method of redirection on general services queue pair (QP) for management as defined by the InfiniBand™ Architecture Specification set forth on Jun. 19, 2001 requires a redirection stub to be resident on a subnet management “SM” node in the switched fabric data network which, in turn, requires complex hardware platform and operating system for implementation. In addition, all class managers/agents must be implemented on the SM node which can suffer a lot of wasted bandwidth and high message processing times due to congestion and message drops and retries.
Accordingly, there is a need for a more efficient mechanism to implement redirection on general services queue pair (QP) for InfiniBand™ management to process data message without providing a redirection stub on the SM node in a switched fabric data network so as to reduce fabric bandwidth required for management traffic and fabric congestion.